This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Modern computer databases may store immense amounts of data. This data is typically stored in one or more tables that comprise the database. If a database contains large amounts of data, it may take a relatively long time to perform a query to retrieve data of interest to a user. The time required for a database to respond to a query may have an adverse impact on the performance of the database as a whole. If the database is subject to a large number of complex queries, the response time for each query may be seriously lengthened.
When the database includes spatial data in a base table, an index of the spatial data may be created and referred to as a “spatial index table.” Spatial data is any data with a location component, which represents the location characteristics of objects in relation to space, such as latitude and longitude. This index table may actually be stored as a separate table within the database. Queries may then be run against the spatial index table without incurring processing time penalties for reassembling the information contained in the spatial index table each time a query that may be satisfied by the spatial index table is performed.
To provide the spatial data, query operations may be performed to access the spatial index table. The query operations may scan the spatial index table to determine the spatial data in the underlying base tables that is relevant to the query operation. The query operations may be defined by a query window that defines a spatial area of interest to be searched. The query operations may utilize special logic or algorithms to utilize the query window on the spatial index table.
In a complex database environment, the query window may be inefficient because the query window may be large or small in relation to the data within the spatial index table. Accordingly, the query operations may be inefficient and slower for certain query windows. The inefficiency may be a result of redundant input and output operations performed on the spatial index table and produces redundant data from the spatial index table. This means that the query operation performs more input/output operations than is necessary.